﻿using System;
using System.Collections.Generic;
using System.Text;

namespace BCDto.Common.Payment.AliPayBill.AliPayBillDetail
{
    /// <summary>
    /// 支付宝对账单详情
    /// </summary>
    public class AliPayBillDetailDto
    {
        /// <summary>
        /// 支付宝账单详情Id
        /// </summary>
        public long AliPayBillDetailId { get; set; }
        /// <summary>
        /// 交易日期
        /// </summary>
        public DateTime TradeDate { get; set; }
        /// <summary>
        /// 交易时间
        /// </summary>
        public DateTime TradeTime { get; set; }
        /// <summary>
        /// 支付宝订单号
        /// </summary>
        public string AliPayOrderNo { get; set; }
        /// <summary>
        /// 商户订单号
        /// </summary>
        public long PaymentRecordId { get; set; }
        /// <summary>
        /// 应用名称
        /// </summary>
        public string AppName { get; set; }
        /// <summary>
        /// 公众账号Id
        /// </summary>
        public string AppId { get; set; }
        /// <summary>
        /// 商户号
        /// </summary>
        public string MchId { get; set; }
        /// <summary>
        /// 业务类型
        /// </summary>
        public string BusinessType { get; set; }
        /// <summary>
        /// 业务类型
        /// </summary>
        public string BusinessTypeStr { get; set; }
        /// <summary>
        /// 完成时间
        /// </summary>
        public DateTime CompleteTime { get; set; }
        /// <summary>
        /// 商品名称
        /// </summary>
        public string GoodsName { get; set; }
        /// <summary>
        /// 门店名称
        /// </summary>
        public string ShopName { get; set; }
        /// <summary>
        /// 门店编号
        /// </summary>
        public string ShopNo { get; set; }
        /// <summary>
        /// 操作员
        /// </summary>
        public string Operater { get; set; }
        /// <summary>
        /// 终端号
        /// </summary>
        public string DeviceNo { get; set; }
        /// <summary>
        /// 订单金额
        /// </summary>
        public decimal OrderAmount { get; set; }
        /// <summary>
        /// 支付宝红包
        /// </summary>
        public decimal CouponAmount { get; set; }
        /// <summary>
        /// 应结账单金额
        /// </summary>
        public decimal PaySingleAmount { get; set; }
        /// <summary>
        /// 用户标识
        /// </summary>
        public string AliUserNo { get; set; }
        /// <summary>
        /// 集分宝
        /// </summary>
        public decimal AliJiFenAmount { get; set; }
        /// <summary>
        /// 支付宝优惠
        /// </summary>
        public decimal AliDiscountAmount { get; set; }
        /// <summary>
        /// 商家优惠
        /// </summary>
        public decimal MchDiscountAmount { get; set; }
        /// <summary>
        /// 卷核销金额
        /// </summary>
        public decimal VolumeDiscountAmount { get; set; }
        /// <summary>
        /// 卷名称
        /// </summary>
        public string VolumeName { get; set; }
        /// <summary>
        /// 商家红包消费金额
        /// </summary>
        public decimal MchRedPackageAmount { get; set; }
        /// <summary>
        /// 卡消费金额
        /// </summary>
        public decimal CardAmount { get; set; }
        /// <summary>
        /// 退款批次号
        /// </summary>
        public string ApplyRefundNo { get; set; }
        /// <summary>
        /// 费率
        /// </summary>
        public int FeeRate { get; set; }
        /// <summary>
        /// 费率描述
        /// </summary>
        public string FeeRateStr { get; set; }
        /// <summary>
        /// 服务费
        /// </summary>
        public decimal HandlingFee { get; set; }
        /// <summary>
        /// 实际收款金额
        /// </summary>
        public decimal ActualReceiveAmount { get; set; }
        /// <summary>
        /// 交易备注
        /// </summary>
        public string FeeRateRemark { get; set; }
        /// <summary>
        /// 获取账单时间
        /// </summary>
        public DateTime CreateTime { get; set; }
        /// <summary>
        /// 已对账
        /// </summary>
        public bool IsSettle { get; set; }
    }
}
